Turbo and Low-Density Parity-Check (LDPC) codes are advanced Forward Error Correction (FEC) schemes. As the information-block size increases, their performance is known to approach the Shannon bound. As such, they are attractive in the design of modern wired and wireless communication systems, such as 3G cellular, Wi-Fi, Wi-MAX, DVB-x (-C2/T2/S2, -SH, -RCS/RCS2, -NGH), ADSL2+, and telemetry (CCSDS), as well as for the reliability of magnetic disks. In practice, LDPC codes can be implemented efficiently allowing for parallel decoding architectures and achieving high data throughputs. They could have better error correcting capabilities than turbo codes, especially for higher coding rates and larger block sizes. As known in the art, Irregular Repeat-Accumulate (IRA) codes are a class of LDPC codes that feature lower encoding complexity than general LDPC codes, with comparable error rate performance.
It is commonly perceived in the field that these capacity achieving codes (e.g., turbo, LDPC, and IRA) would need to be systematic to enable their convergence at low signal-to-noise ratios. In systematic codes, the information bits are transmitted over the channel together with the coded or parity bits. The ratio of the number of information to the number of parity bits depends on the coding rate (R). In non-systematic codes, information bits are not transmitted but only the coded bits. Until recently, there is a scarcity of work on non-systematic capacity-achieving codes. However, it should be noted that in certain prior art systems, non-systematic IRA codes may perform as well as systematic IRA codes. Importantly, non-systematic capacity-achieving codes may have significant advantages over the systematic ones in some communication scenarios.
Typical scenarios in which non-systematic codes are preferable against systematic codes are: (i) strong interference or other channel impairments present over a fraction of received coded bit stream; (ii) satellite diversity (when the signal from one satellite is lost due to severe shadowing or multipath fading); (iii) MIMO transmission, or transmit diversity in general (e.g., signal transmission from two or more sites or antennas, or multiple signal transmissions in time or frequency); and (iv) Hybrid Automatic Repeat Request (HARQ or Hybrid ARQ) systems (where packet retransmissions could employ fully complementary coded bits).
For example, in a system with a dual-satellite diversity, such as Sirius satellite digital radio system, e.g., where the same information packet is transmitted from two satellites, it is desirable to implement complementary coding over two satellite coded symbol streams such that each stream has a coding rate R but the combined signal from the two streams has a coding rate R/2. This could be readily accomplished with a non-systematic code by employing complementary puncturing of the coded stream of rate R/2 to obtain two complementary coded streams each of rate R. Thus, when the signals from both satellites are received, effectively a combined signal with powerful FEC is received. If the signal from one of the satellites is faded or obstructed by trees or buildings, the signal from the other satellite is still protected by a FEC code of rate R. With systematic capacity-achieving codes, complementary coding and combining is not effective because typically all systematic bits need to be repeated in both streams and only the parity bits could be complementary, thus resulting in less efficient FEC protection in the combined signal. It would be apparent to one skilled in the art that similar reasoning for why systematic codes may not be desirable in other aforementioned communications scenarios, including the ones mentioned above. Thus, there is a need for capacity-approaching non-systematic codes with low error floors, including improved IRA coding strategies.
A design of a non-systematic IRA code was presented in S. ten Brink, and G. Kramer, “Design of Repeat-Accumulate Codes for Iterative Detection and Decoding,” IEEE Trans. on Signal Processing, Vol. 51, No. 11, pp. 2764-2772, November 2003 for code rate R=1/2 only, assuming Binary Phase-Shift Keying (BPSK) modulation. The non-systematic IRA code of S. ten Brink et al. method had a bi-regular check-node structure, a subset of check nodes of degree 1, i.e., also referred as to check by-pass, for doping, and remaining check nodes of degree 3, also referred to as check combiners of degree 3. The check combiners of degree n perform modulo-2 addition of n input bits represented in {0,1} domain. One of the disadvantages of the IRA code in S. ten Brink et al. method is that the code exhibits a relatively high error floor, due to a relatively large fraction of low degree bit-repetition nodes. In addition, a very large number of iterations is required to achieve convergence. Certain codes that exhibit improved error floors may be achieved by replacing a fraction of degree 2 bit nodes with a linear block code, such as Hamming (8,4) block code, as is the case for the IRA code in S. I. Park, and K. Yang, “Extended Hamming Accumulate Codes and Modified Irregular Repeat Accumulate Codes”, IEE Electronics Letters, Vol. 38, No. 10, pp. 467-468, May 2002. The IRA code in Park et al. method is a check regular code with check-node degree of 3. However, experimental simulation results have shown that check-regular non-systematic IRA codes such as the ones from Park et al. do not converge in many cases.
Thus, there is a further need for improved IRA coding strategies, including ones that employ capacity-approaching non-systematic IRA codes that are irregular and that exhibit a low error floor.